将文件夹内容复制到创建的.zip文件:“未找到文件或没有读取权限” |
您所在的位置:网站首页 › 找不到文件或没有读取权限怎么办 压缩 › 将文件夹内容复制到创建的.zip文件:“未找到文件或没有读取权限” |
我正在尝试使用.zip从现有文件夹创建一个JScript文件,而且我的copyHere函数似乎没有复制到.zip文件夹。相反,我会得到一个名为“压缩(压缩)文件夹错误”的弹出框,其中的消息是“文件找不到或没有读取权限”,即使根据我的file.attributes属性(32)的值,我对该文件具有读写权限。 下面是我使用的脚本: 代码语言:javascript复制//Get commman line arguments var objArgs = WScript.Arguments; var zipPath = objArgs(0); var sourcePath = objArgs(1); //Create empty ZIP file and open for adding var fso = new ActiveXObject("Scripting.FileSystemObject"); var file = fso.CreateTextFile(zipPath, true); // Create twenty-two byte "fingerprint" for .zip file.write("PK"); file.write(String.fromCharCode(5)); file.write(String.fromCharCode(6)); file.write('\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0'); var objShell = new ActiveXObject("shell.application"); var zipFolder = new Object; zipFolder = objShell.NameSpace(zipPath); sourceItems = objShell.NameSpace(sourcePath).items(); if (zipFolder != null) { zipFolder.CopyHere(sourceItems); WScript.Sleep(1000); }现在,CopyHere函数可以将sourcePath的内容复制到普通文件夹中,但是当我尝试创建一个.zip文件并将内容复制到该文件夹时,什么都不会发生。对于为什么copyHere不将sourcePath的内容复制到.zip,有什么想法吗? 调用此脚本的示例是: cscript win-zip.js C:\desired\zip\file.zip C:\path\to\source\folder 所期望的结果将是创建file.zip,现在包含源文件夹的内容。这会不会是权限的问题?是什么导致了这种行为? Side ,使用vbScript和我可以成功创建和填充.zip的相同命令,那么为什么它不能使用jscript工作呢? 代码语言:javascript复制Set objArgs = WScript.Arguments ZipFile = objArgs(0) SourceFolder = objArgs(1) ' Create empty ZIP file and open for adding CreateObject("Scripting.FileSystemObject").CreateTextFile(ZipFile, True).Write "PK" & Chr(5) & Chr(6) & String(18, vbNullChar) Set zip = CreateObject("Shell.Application").NameSpace(ZipFile) ' Get items in source folder Set sourceItems = CreateObject("Shell.Application").NameSpace(SourceFolder).Items ' Add all files/directories to the .zip file zip.CopyHere(sourceItems) WScript.Sleep 1000 'Wait for items to be copied非常感谢任何有帮助的评论,谢谢! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |